Unix OS シグナル一覧
注意.icon 覚えたシグナルの内容を徐々に記載していく
SIGINT = -2
ユーザーからのプロセス終了要求。
プロセスはこの終了要求を受け取り、ハンドリングする。
終了するもよし、ユーザーに本当に終了していい?と警告するもよし。
SIGTERM = -15
システムからのプロセス終了要求。
SIGINTとは要求を出す人間が異なる。
プロセスはこの終了要求を受け取って、必要なクリーンアップ処理をしてから終了するのが良い。
行儀は悪いが無視するのもあり。どうせSIGKILLでやられるけどな。
table:違い
観点 SIGINT SIGTERM
目的 ユーザーが「中断したい」 システムが「終了してほしい」
送信者の想定 キーボード(人間) プログラム(他のプロセスやOS)
起きる状況 ターミナルで Ctrl+C kill コマンド、OSのシャットダウンなど
SIGKILL = -9
システムからの問答無用の終了命令。
プロセス側にはなす術はない。
プロセスは即座に切られる。
table:違い
シグナル 意味 ハンドリング可能 用途
SIGINT 割り込み 可能 ユーザーが中断したい
SIGTERM 正常終了要求 可能 システムからの終了要請
SIGKILL 強制終了 不可能 止まらないプロセスを殺す